home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / cherk.z / cherk
Encoding:
Text File  |  2002-10-03  |  16.4 KB  |  331 lines

  1.  
  2.  
  3.  
  4. CCCCHHHHEEEERRRRKKKK((((3333SSSS))))                                                            CCCCHHHHEEEERRRRKKKK((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      CCCCHHHHEEEERRRRKKKK, ZZZZHHHHEEEERRRRKKKK - Performs Hermitian rank _k update of a complex Hermitian
  10.      matrix
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      Single precision complex
  14.  
  15.           Fortran:
  16.                CCCCAAAALLLLLLLL CCCCHHHHEEEERRRRKKKK ((((_u_p_l_o,,,, _t_r_a_n_s,,,, _n,,,, _k,,,, _a_l_p_h_a,,,, _a,,,, _l_d_a,,,, _b_e_t_a,,,, _c,,,, _l_d_c))))
  17.  
  18.           C/C++:
  19.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  20.                vvvvooooiiiidddd cccchhhheeeerrrrkkkk ((((cccchhhhaaaarrrr *_u_p_l_o,,,, cccchhhhaaaarrrr *_t_r_a_n_s,,,, iiiinnnntttt _n, iiiinnnntttt _k,,,, ffffllllooooaaaatttt
  21.                *_a_l_p_h_a,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_a,,,, iiiinnnntttt _l_d_a,,,, ffffllllooooaaaatttt *_b_e_t_a,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_c,,,,
  22.                iiiinnnntttt _l_d_c))));;;;
  23.  
  24.           C++ STL:
  25.                ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooommmmpppplllleeeexxxx....hhhh>>>>
  26.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  27.                vvvvooooiiiidddd cccchhhheeeerrrrkkkk ((((cccchhhhaaaarrrr *_u_p_l_o,,,, cccchhhhaaaarrrr *_t_r_a_n_s,,,, iiiinnnntttt _n, _i_n_t _k,,,, ffffllllooooaaaatttt
  28.                *_a_l_p_h_a,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_a,,,, iiiinnnntttt _l_d_a,,,, ffffllllooooaaaatttt *_b_e_t_a,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>>
  29.                *_c,,,, iiiinnnntttt _l_d_c))));;;;
  30.  
  31.      Double precision complex
  32.  
  33.           Fortran:
  34.                CCCCAAAALLLLLLLL ZZZZHHHHEEEERRRRKKKK ((((_u_p_l_o,,,, _t_r_a_n_s,,,, _n,,,, _k,,,, _a_l_p_h_a,,,, _a,,,, _l_d_a,,,, _b_e_t_a,,,, _c,,,, _l_d_c))))
  35.  
  36.           C/C++:
  37.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  38.                vvvvooooiiiidddd zzzzhhhheeeerrrrkkkk ((((cccchhhhaaaarrrr *_u_p_l_o,,,, cccchhhhaaaarrrr *_t_r_a_n_s,,,, iiiinnnntttt _n, _i_n_t _k,,,, ddddoooouuuubbbblllleeee
  39.                *_a_l_p_h_a,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_a,,,, iiiinnnntttt _l_d_a,,,, ddddoooouuuubbbblllleeee *_b_e_t_a,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx
  40.                *_c,,,, iiiinnnntttt _l_d_c))));;;;
  41.  
  42.           C++ STL:
  43.                ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooommmmpppplllleeeexxxx....hhhh>>>>
  44.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  45.                vvvvooooiiiidddd zzzzhhhheeeerrrrkkkk ((((cccchhhhaaaarrrr *_u_p_l_o,,,, cccchhhhaaaarrrr *_t_r_a_n_s,,,, iiiinnnntttt _n, _i_n_t _k,,,, ddddoooouuuubbbblllleeee
  46.                *_a_l_p_h_a,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_a,,,, iiiinnnntttt _l_d_a,,,, ddddoooouuuubbbblllleeee *_b_e_t_a,,,,
  47.                ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_c,,,, iiiinnnntttt _l_d_c))));;;;
  48.  
  49. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  50.      These routines are part of the SCSL Scientific Library and can be loaded
  51.      using either the ----llllssssccccssss or the ----llllssssccccssss____mmmmpppp option.  The ----llllssssccccssss____mmmmpppp option
  52.      directs the linker to use the multi-processor version of the library.
  53.  
  54.      When linking to SCSL with ----llllssssccccssss or ----llllssssccccssss____mmmmpppp, the default integer size is
  55.      4 bytes (32 bits). Another version of SCSL is available in which integers
  56.      are 8 bytes (64 bits).  This version allows the user access to larger
  57.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  58.      by using the ----llllssssccccssss____iiii8888 option or the ----llllssssccccssss____iiii8888____mmmmpppp option. A program may use
  59.      only one of the two versions; 4-byte integer and 8-byte integer library
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CCCCHHHHEEEERRRRKKKK((((3333SSSS))))                                                            CCCCHHHHEEEERRRRKKKK((((3333SSSS))))
  71.  
  72.  
  73.  
  74.      calls cannot be mixed.
  75.  
  76.      The C and C++ prototypes shown above are appropriate for the 4-byte
  77.      integer version of SCSL. When using the 8-byte integer version, the
  78.      variables of type iiiinnnntttt become lllloooonnnngggg lllloooonnnngggg and the <<<<ssssccccssssllll____bbbbllllaaaassss____iiii8888....hhhh>>>> header
  79.      file should be included.
  80.  
  81. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  82.      These routines perform a Hermitian rank _k update of a complex Hermitian
  83.      matrix.
  84.  
  85.      They perform one of the following Hermitian rank _k operations:
  86.  
  87.           _C <- _a_l_p_h_a _A_A_H + _b_e_t_a _C
  88.  
  89.           _C <- _a_l_p_h_a _A_H_A + _b_e_t_a _C
  90.  
  91.      where the following is true:
  92.  
  93.      *   _a_l_p_h_a and _b_e_t_a are scalars;
  94.  
  95.      *   _C is an _n-by-_n Hermitian matrix;
  96.  
  97.      *   _A is an _n-by-_k matrix in the first operation listed previously, and a
  98.          _k-by-_n matrix in the second;
  99.  
  100.      *   and _A_H is the conjugate transpose of _A.
  101.  
  102.      See the NOTES section of this man page for information about the
  103.      interpretation of the data types described in the following arguments.
  104.  
  105.      These routines have the following arguments:
  106.  
  107.      _u_p_l_o      Character.  (input)
  108.                Specifies whether the upper or lower triangular part of array _c
  109.                is referenced, as follows:
  110.  
  111.                _u_p_l_o = 'U' or 'u': only the upper triangular part of _c is
  112.                referenced.
  113.                _u_p_l_o = 'L' or 'l': only the lower triangular part of _c is
  114.                referenced.
  115.  
  116.      _t_r_a_n_s     Character.  (input)
  117.                Specifies the operation to be performed, as follows:
  118.  
  119.                _t_r_a_n_s = 'N' or 'n':  _C  <-  _a_l_p_h_a _A_A_H + _b_e_t_a _C
  120.  
  121.                _t_r_a_n_s = 'C' or 'c':  _C  <-  _a_l_p_h_a _A_H _A + _b_e_t_a _C
  122.  
  123.      _n         Integer.  (input)
  124.                Specifies the order of matrix _C.  _n must be >= 0.
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. CCCCHHHHEEEERRRRKKKK((((3333SSSS))))                                                            CCCCHHHHEEEERRRRKKKK((((3333SSSS))))
  137.  
  138.  
  139.  
  140.      _k         Integer.  (input)
  141.  
  142.                On entry with _t_r_a_n_s = 'N' or 'n', _k specifies the number of
  143.                columns of matrix _A.
  144.                On entry with _t_r_a_n_s = 'C' or 'c', _k specifies the number of
  145.                rows of matrix _A.
  146.  
  147.                _k must be >= 0.
  148.  
  149.      _a_l_p_h_a     First scalar factor.  (input)
  150.                CCCCHHHHEEEERRRRKKKK: Single precision.
  151.                ZZZZHHHHEEEERRRRKKKK: Double precision.
  152.  
  153.      _a         Array of dimension (_l_d_a,_k_a).  (input)
  154.                CCCCHHHHEEEERRRRKKKK: Single precision complex array.
  155.                ZZZZHHHHEEEERRRRKKKK: Double precision complex array.
  156.                When _t_r_a_n_s = 'N' or 'n', _k_a is _k; otherwise, it is _n.  Contains
  157.                matrix _A.
  158.  
  159.                Before entry with _t_r_a_n_s = 'N' or 'n', the leading _n-by-_k part
  160.                of array _a must contain matrix _A; otherwise, the leading _k-by-_n
  161.                part of array _a must contain matrix _A.
  162.  
  163.      _l_d_a       Integer.  (input)
  164.                Specifies the first dimension of _a as declared in the calling
  165.                program.  If _t_r_a_n_s = 'N' or 'n', _l_d_a >= MMMMAAAAXXXX(1,_n); otherwise,
  166.                _l_d_a >= MMMMAAAAXXXX(1,_k).
  167.  
  168.      _b_e_t_a      Second scalar factor.  (input)
  169.                CCCCHHHHEEEERRRRKKKK: Single precision.
  170.                ZZZZHHHHEEEERRRRKKKK: Double precision.
  171.  
  172.      _c         Array of dimension (_l_d_c,_n).  (input and output)
  173.                CCCCHHHHEEEERRRRKKKK: Single precision complex array.
  174.                ZZZZHHHHEEEERRRRKKKK: Double precision complex array.
  175.  
  176.                Contains matrix _C.  Before entry with _u_p_l_o = 'U' or 'u', the
  177.                leading _n-by-_n upper triangular part of array _c must contain
  178.                the upper triangular part of the Hermitian matrix.  The
  179.                strictly lower triangular part of _c is not referenced.  On
  180.                exit, the upper triangular part of the updated matrix
  181.                overwrites the upper triangular part of array _c.
  182.  
  183.                Before entry with _u_p_l_o = 'L' or 'l', the leading _n-by-_n lower
  184.                triangular part of array _c must contain the lower triangular
  185.                part of the Hermitian matrix.  The strictly upper triangular
  186.                part of _c is not referenced.  On exit, the lower triangular
  187.                part of the updated matrix overwrites the lower triangular part
  188.                of array _c.
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. CCCCHHHHEEEERRRRKKKK((((3333SSSS))))                                                            CCCCHHHHEEEERRRRKKKK((((3333SSSS))))
  203.  
  204.  
  205.  
  206.                The imaginary parts of the diagonal elements need not be set
  207.                and are assumed to be 0.  On exit, they are set to 0.
  208.  
  209.      _l_d_c       Integer.  (input)
  210.                Specifies the first dimension of _c as declared in the calling
  211.                (sub)program.  _l_d_c >= MMMMAAAAXXXX(1,_n).
  212.  
  213. NNNNOOOOTTTTEEEESSSS
  214.      CCCCHHHHEEEERRRRKKKK/ZZZZHHHHEEEERRRRKKKK is a Level 3 Basic Linear Algebra Subprogram (Level 3 BLAS).
  215.  
  216.  
  217.    DDDDaaaattttaaaa TTTTyyyyppppeeeessss
  218.      The following data types are described in this documentation:
  219.  
  220.           TTTTeeeerrrrmmmm UUUUsssseeeedddd                     DDDDaaaattttaaaa ttttyyyyppppeeee
  221.  
  222.      Fortran:
  223.  
  224.           Array dimensioned _n           xxxx((((nnnn))))
  225.  
  226.           Array of dimensions (_m,_n)     xxxx((((mmmm,,,,nnnn))))
  227.  
  228.           Character                     CCCCHHHHAAAARRRRAAAACCCCTTTTEEEERRRR
  229.  
  230.           Integer                       IIIINNNNTTTTEEEEGGGGEEEERRRR (IIIINNNNTTTTEEEEGGGGEEEERRRR****8888 for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]])
  231.  
  232.           Single precision              RRRREEEEAAAALLLL
  233.  
  234.           Double precision              DDDDOOOOUUUUBBBBLLLLEEEE PPPPRRRREEEECCCCIIIISSSSIIIIOOOONNNN
  235.  
  236.           Single precision complex      CCCCOOOOMMMMPPPPLLLLEEEEXXXX
  237.  
  238.           Double precision complex      DDDDOOOOUUUUBBBBLLLLEEEE CCCCOOOOMMMMPPPPLLLLEEEEXXXX
  239.  
  240.      C/C++:
  241.  
  242.           Array dimensioned _n           xxxx[[[[_n]]]]
  243.  
  244.           Array of dimensions (_m,_n)     xxxx[[[[mmmm****nnnn]]]]
  245.  
  246.           Character                     cccchhhhaaaarrrr
  247.  
  248.           Integer                       iiiinnnntttt (lllloooonnnngggg lllloooonnnngggg for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]])
  249.  
  250.           Single precision              ffffllllooooaaaatttt
  251.  
  252.           Double precision              ddddoooouuuubbbblllleeee
  253.  
  254.           Single precision complex      ssssccccssssllll____ccccoooommmmpppplllleeeexxxx
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. CCCCHHHHEEEERRRRKKKK((((3333SSSS))))                                                            CCCCHHHHEEEERRRRKKKK((((3333SSSS))))
  269.  
  270.  
  271.  
  272.           Double precision complex      ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx
  273.  
  274.      C++ STL:
  275.  
  276.           Array dimensioned _n           xxxx[[[[_n]]]]
  277.  
  278.           Array of dimensions (_m,_n)     xxxx[[[[mmmm****nnnn]]]]
  279.  
  280.           Character                     cccchhhhaaaarrrr
  281.  
  282.           Integer                       iiiinnnntttt (lllloooonnnngggg lllloooonnnngggg for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]])
  283.  
  284.           Single precision              ffffllllooooaaaatttt
  285.  
  286.           Double precision              ddddoooouuuubbbblllleeee
  287.  
  288.           Single precision complex      ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>>
  289.  
  290.           Double precision complex      ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>>
  291.  
  292.      Note that you can explicitly declare multidimensional C/C++ arrays
  293.      provided that the array dimensions are swapped with respect to the
  294.      Fortran declaration (e.g., xxxx[[[[nnnn]]]][[[[mmmm]]]] in C/C++ versus xxxx((((mmmm,,,,nnnn)))) in Fortran).
  295.      To avoid a compiler type mismatch error in C++ (or a compiler warning
  296.      message in C), however, the array should be cast to a pointer of the
  297.      appropriate type when passed as an argument to a SCSL routine.
  298.  
  299. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  300.      IIIINNNNTTTTRRRROOOO____SSSSCCCCSSSSLLLL(3S), IIIINNNNTTTTRRRROOOO____BBBBLLLLAAAASSSS3333(3S), SSSSSSSSYYYYRRRRKKKK(3S)
  301.  
  302.      IIIINNNNTTTTRRRROOOO____CCCCBBBBLLLLAAAASSSS(3S) for information about using the C interface to Fortran 77
  303.      Basic Linear Algebra Subprograms (legacy BLAS) set forth by the Basic
  304.      Linear Algebra Subprograms Technical Forum.
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.                                                                         PPPPaaaaggggeeee 5555
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.